package com.imooc.coupon.vo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * 结算信息对比对象定义
 * 包含：
 * 1、userId
 * 2、商品信息
 * 3、优惠券列表
 * 4、结算结果金额
 * @author jinspent
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class SettlementInfo {

    /* 用户 id */
    private Long userId;

    /* 商品信息 */
    private List<GoodsInfo> goodsInfos;

    /* 优惠券列表 */
    private List<CouponAndTemplateInfo> couponAndTemplateInfos;

    /* 是否结算生效，即核销 */
    private boolean employ;

    /* 结算结果金额 */
    private double cost;

    public boolean getEmploy() {

        return this.employ;
    }

    /*
     * 优惠券模板信息
     * */
    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    public static class CouponAndTemplateInfo {
        /* Coupon 的主键 */
        private Integer id;

        /* 优惠券对应的模板对象 */
        private CouponTemplateSDK template;
    }
}